﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace NGUYENMANHDUNG
{
    public partial class GiaiPhuongTrinhBac2 : Form
    {
        public GiaiPhuongTrinhBac2()
        {
            InitializeComponent();
        }

        private void btnXemKQ_Click(object sender, EventArgs e)
        {
             //1. Hiển thị các giá trị người dùng nhập vào các điều khiển trên
            //forms
            /*LbKetQua.Items.Add(txtA.Text);
            LbKetQua.Items.Add(txtB.Text);
            LbKetQua.Items.Add(txtC.Text);
            LbKetQua.Items.Add((txtA.Text + txtB.Text));*/

            //2. Chuyển đổi giá trị kiểu chuỗi sang kiểu số trong .NET?
            //a. Để tránh lỗi ngoại lệ do ko có giá trị khi thực hiện chuyển đổi
            if (string.IsNullOrEmpty(txtA.Text))
            {
                MessageBox.Show("Yêu cầu bạn phải nhập vào giá trị số a cho tôi");
                txtA.Focus();
            }
            else if (string.IsNullOrEmpty(txtB.Text))
            {
                MessageBox.Show("Yêu cầu bạn phải nhập vào giá trị số b cho tôi");
                txtB.Focus();
            }
            else if (string.IsNullOrEmpty(txtC.Text))
            {
                MessageBox.Show("Yêu cầu bạn phải nhập vào giá trị số c cho tôi");
                txtC.Focus();
            }
            else
            {
                /*double a = double.Parse(txta.Text);
                float b = float.Parse(txtb.Text);
                double c = double.Parse(txtc.Text);
                listBox1.Items.Add((a +b));
                //C2:
                //double i = Convert.ToDouble(txta.Text);
                // float j = Convert.ToSingle(txtb.Text);*/

                //b. Để khắc phục lỗi do người dùng nhập vào ko đúng format kiểu giá trị


                
                double a = 0;
                double b = 0;
                double c = 0;
                double D = ((b*b )- (4 * a * c));
                if (double.TryParse(txtA.Text, out a) ) 
                {
                   
                }
                else
                {
                    MessageBox.Show("Không thể chuyển đổi được giá trị đó");
                }


                 if (D < 0)
                {
                    LbKetQua.Items.Add("phương trình vô nghiệm");
                }
                else if (D == 0)
                {
                    LbKetQua.Items.Add("x1 =" + (-b / (2 * a)));
                    LbKetQua.Items.Add("x2 =" + (-b / (2 * a)));
                }
                else if (D > 0)
                {

                    LbKetQua.Items.Add("x1= " + ((-b - Math.Sqrt(D)) / (2 * a)));
                    LbKetQua.Items.Add("x2= " + ((-b + Math.Sqrt(D)) / (2 * a)));
                }
                
                
            }


        }
        }
    
}
